#ifdef OSGI_USE_15S_HEADER
#include "../interface/InterfaceDef.h"
#include "osgi-core/osgi-predefined.h"
#else // OSGI_USE_15S_HEADER
#ifndef OSGI_CORE_IBUNDLEACTIVATOR_H__
#define OSGI_CORE_IBUNDLEACTIVATOR_H__

#include "osgi-predefined.h"

OSGI_NAMESPACE_BEGIN

OSGI_INTERFACE IBundleActivator
{
	virtual ~IBundleActivator() {}

    //插件启动
    //插件初始化方法由微内核在系统初始化时刻，以及热插时刻调用，要求而在该接口
    //的实现中，获取所依赖插件的服务接口，并注册插件自身的服务接口。
	virtual bool OSGI_API Start(IBundleContext* pBundleContext) = 0;

    //插件停止
    //插件结束化方法由微内核在系统结束化时刻，以及热拔时刻调用，要求在该接口
    //的实现中，释放所依赖插件的服务接口，并注销插件自身的服务接口。
	virtual bool OSGI_API Stop(IBundleContext* pBundleContext) = 0;
};

OSGI_NAMESPACE_END

#endif // OSGI_CORE_IBUNDLEACTIVATOR_H__
#endif // OSGI_USE_15S_HEADER